using System.Collections.Generic;
using PetaPoco;

namespace Ideas2Realize.Data.Business.Interface
{
    public interface IRepository<T> 
    {
        T Single(object primaryKey);

        IEnumerable<T> Query();
        List<T> Fetch();
        Page<T> PagedQuery(long pageNumber, long itemsPerPage, string sql, params object[] args);
        int Insert(object itemToAdd);
        int Update(object itemToUpdate, object primaryKeyValue);
        int Delete(object primaryKeyValue);
    }
}
